package com.lcc.mapper;

import com.lcc.pojo.Dept;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.type.JdbcType;

import java.util.List;

/**
 * 部门管理
 */

@Mapper
public interface DeptMapper {
    /**
     * 查询全部的部门数据
     * @param
     */
    @Select("select id, name, create_time, update_time from tlias.dept;")
    @Results({ //解决返回时间为null问题
        @Result(column="create_time",property="createTime",jdbcType=JdbcType.TIMESTAMP),
        @Result(column="update_time",property="updateTime",jdbcType=JdbcType.TIMESTAMP)
    })
    List<Dept> list();

    /**
     * 根据ID删除部门
     * @param id
     */
    @Delete("delete from tlias.dept where id = #{id}")
    void deleteById(Integer id);

    /*
    * 添加部门
    * */
    @Insert("insert into tlias.dept ( name, create_time, update_time)" +
            "value (#{name},#{createTime},#{updateTime})")
    void insert(Dept dept);

    /*
    * 修改部门信息
    * */
    @Update("UPDATE tlias.dept set name =#{name},update_time = #{updateTime} where id= #{id}")
    void alter(Dept dept);

    /*
    * 根据ID查询信息
    * */
    @Select("select * from tlias.dept where id = #{id}")
    @Results({ //解决返回时间为null问题
            @Result(column="create_time",property="createTime",jdbcType=JdbcType.TIMESTAMP),
            @Result(column="update_time",property="updateTime",jdbcType=JdbcType.TIMESTAMP)
    })
    Dept selectById(Integer id);
}
